const app = getApp();
import { request } from '../../utils/index.js'
import Notify from '../../miniprogram_npm/@vant/weapp/notify/notify.js';
import Dialog from '../../miniprogram_npm/@vant/weapp/dialog/dialog';
import Toast from '../../miniprogram_npm/@vant/weapp/toast/toast';
let _loading = false; //定义一个变量来判断是否loading
var timer = null;
Page({

  /**
   * 页面的初始数据 ---- vue中的data
   */
  data: {
    active: 0,
    abnormalFlag: false, //异常配送
    abnormalingFlag: false,
    abnormalingList: '',
    abnormalingCity: '',
    abnormalCity: '',
    radio: '1',
    radioing: '1',
    abnormalList: '',
    abnormalListing: '',
    abnormalReasonlist: [], // 异常原因列表
    abnormalReasonlists: [], // 异常原因列表
    isContact: [], // 是否与客户联系
    isContacts: [], // 是否与客户联系
    code: '', // 订单异常修改原因
    currentTab: '', // 订单异常修改原因
    currentTabReason: '',// 订单异常修改原因
    currentTabs: '', // 订单异常修改原因
    isContactTab: '', // 是否与客户联系
    isContactTabs: '', // 是否与客户联系(待配送)
    scanningFlag: true, // 扫描
    scanningImageFlag: true, // 扫描前后
    deliveryUnusualReason: '', // 配送异常修改原因
    customerContact: '', //配送异常是否与客户联系
    updateContent: '', // 修改内容
    updateContents: '', // 修改内容(待配送)
    xmbzNo: '',
  },

  /**
   * 生命周期函数--监听页面加载 --- mounted --- 请求数据
   */
  onLoad: function (options) {
    console.log('options',options)
    // Toast.loading({
    //   message: '加载中...',
    //   forbidClick: true,
    // });
    this.getabnormalReasonlist()
    this.getCustomerContact()
    setTimeout(() => {
      this.setData({
        xmbzNo: options.xmbzNo,
        abnormalingList: options.proid,
        abnormalingCity: options.city,
        abnormalingFlag: true,
      })
    },2000)
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    console.log('onHide')
    const addressFlag = wx.getStorageSync('addressFlag')
    if(addressFlag == false) {
      // console.log('808098')
      clearInterval(timer)
    }
    // clearInterval(timer)
    // clearInterval(timer)
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    // clearInterval(timer)
    // console.log('onUnload')
  },
  
  // 异常配送获取修改原因列表
  getabnormalReasonlist() {
    _loading = true;
    try {
      const token = wx.getStorageSync('token')
      request({
        url: '/getDictInfo',
        method: 'GET',
        data: {
          token: token,
          dictCode: 'customer_issues'
        },
        header: {
          'content-type': 'application/json', // 默认值
          'token': `${token}`
        }
      }).then(res => {
          _loading = false;
          // console.log(res.data.result,res.data.code)
          // setTimeout(() => {
            this.setData({
              abnormalReasonlist: res.data.result.dictList,
              // abnormalReasonlists: res.data.result.dictList
            })
          // }, 2000)
      })
    } catch (e) {
      //console.error(e)
    }
    try {
      const token = wx.getStorageSync('token')
      request({
        url: '/getDictInfo',
        method: 'GET',
        data: {
          token: token,
          dictCode: 'domestic_question'
        },
        header: {
          'content-type': 'application/json', // 默认值
          'token': `${token}`
        }
      }).then(res => {
        // console.log(res.data.result,'3412343')
        if(res.data.code == 200) {
          _loading = false;
          this.setData({
            // abnormalReasonlist: res.data.result.dictList,
            abnormalReasonlists: res.data.result.dictList
          })
        }
      })
    } catch (e) {
      //console.error(e)
    }
  },
  // 取消操作
  cancelAbnormal() {
    const _this = this
    this.setData({
      abnormalFlag: false,
    })
    setTimeout(function() {
      _this.setData({
        abnormalList: '',
        updateContents: '',
        abnormalCity: '',
        currentTabs: '',
        isContactTabs: ''
      })
    },2000)
  },
  formSubmiting: function(e) {
    const _this = this
    const orderId = e.currentTarget.dataset.id
    const delivery = wx.getStorageSync('name')
    const deliveryUnusualReason = e.currentTarget.dataset.deliveryunusualreason
    const customerContact = e.currentTarget.dataset.customercontact
    const updateContent = e.currentTarget.dataset.updatecontent
    const code = e.currentTarget.dataset.code
    if(deliveryUnusualReason == '' || customerContact == '' || updateContent == '') {
      Dialog.alert({
        title: '提示',
        message: '您还有信息未填，请完善信息！',
      }).then(() => {
        // on close
      });
    } else {
      try {
        const token = wx.getStorageSync('token')
        if (token !== '') {
          const token = wx.getStorageSync('token')
          request({
            url: '/addOrderDeliveryAbnormal',
            method: 'POST',
            data: {
              orderId,
              delivery,
              deliveryUnusualReason,
              customerContact,
              updateContent,
              code
            },
            header: {
              'Content-Type': 'application/json',
              'token': `${token}`
            }
          }).then(res => {
            if (res.data.code == 200) {
              wx.showToast({
                title: '成功',
                icon: 'success',
                duration: 2000
              })
              this.setData({
                updateContent: '',
                currentTab: '',
                isContactTab: '',
              })
              // console.log('formSubmiting',e)
              setTimeout(() => {
                var pages = getCurrentPages(); //当前页面
                var beforePage = pages[pages.length - 2]; //前一页
                wx.navigateBack({
                  success: function () {
                    beforePage.onLoad(); // 执行前一个页面的onLoad方法
                  }
                });
              },1500)
              // wx.navigateTo({
              //   url: '../home/home'
              // })
            } else if(res.data.code == 40003) {
              this.setData({
                abnormalingFlag: false,
                currentTab: '',
                isContactTab: '',
                updateContent: ''
              })
              Notify({
                message: `${res.data.msg}`,
                type: 'danger'
              })
              setTimeout(() => {
                var pages = getCurrentPages(); //当前页面
                var beforePage = pages[pages.length - 2]; //前一页
                wx.navigateBack({
                  success: function () {
                    beforePage.onLoad(); // 执行前一个页面的onLoad方法
                  }
                });
              },1500)
            } else if (res.data.code == -1) {
              Notify({
                message: `${res.data.msg}`,
                type: 'danger'
              })
            } else {
              Notify({
                message: `${res.data.msg}`,
                type: 'danger'
              })
            }
          })
        }
      } catch (e) {
        //console.error(e)valueAbnormal
      }
    }
  },
  // 异常配送
  abnormalDeliverlying(e) {
    // console.log(e.currentTarget.dataset.item.cityName)
    this.setData({
      abnormalingFlag: true,
      abnormalingList: e.currentTarget.dataset.item.ordNo,
      abnormalingCity: e.currentTarget.dataset.item.cityName
    })
    this.getabnormalReasonlist()
    this.getCustomerContact()
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   * 重新请求了第一页的数据
   */
  onPullDownRefresh: function () {
  },

  /**
   * 页面上拉触底事件的处理函数
   * 上拉加载 --- 分页效果 ---- 每一次的上拉页码要加1
   */
  onReachBottom: function () {
    // console.log('加载数据')
  },

  /**
   * 用户点击右上角分享
   * 可以通过微信提供的api修改分享的内容
   */
  onShareAppMessage: function () {
    // console.log('你准备好分享了吗')
  },

  /**
   * 页面滚动触发事件的处理函数
   * 默认的参数就是滚动条距离顶部的距离 - options
   * 滚动到某一个位置，出现返回顶部按钮
   */
  onPageScroll(options) {
  },

  /**
   * 当前是 tab 页时，点击 tab 时触发
   * 就是全局配置的底部选项卡
   */
  onTabItemTap() {
    // console.log('首页')
  },
  /**
   * 异常配送点击修改原因颜色改变，并获取对应的值(待配送)
   */
  getAbnormalReasons(e) {
    // console.log(e.currentTarget.dataset)
    // this.setData({
    //   currentTabs: e.currentTarget.dataset.dictvalue,
    //   currentTabReason: e.currentTarget.dataset.dictvalue,
    // })
  },
  /**
   * 异常配送点击修改原因颜色改变，并获取对应的值
   */
  getAbnormalReason(e) {
    console.log(e.currentTarget.dataset)
    this.setData({
      currentTab: e.currentTarget.dataset.dictkey,
      currentTabReason: e.currentTarget.dataset.dictvalue,
      code: e.currentTarget.dataset.code
    })
  },
  /**
   * 是否与客户联系颜色改变，并获取对应的值
   */
  getisContact(e) {
    this.setData({
      isContactTab: e.currentTarget.dataset.dictvalue
    })
  },
  /**
   * 异常订单修改内容，并获取对应的值(配送中)
   */
  getUpdateContentCopy(e){
    // console.log(e.detail.length,'e.currentTarget.dataset')
    if(e.detail.length > 100) {
      Notify({
        message: '您输入的内容已超出，请重新编辑!',
        type: 'danger'
      })
    } else {
      this.setData({
        updateContent: e.detail.replace(/\s+/g, '')
      })
    }
  },
  /**
   * 异常订单修改内容，并获取对应的值(待配送)
   */
  getUpdateContent(e){
    // console.log(e.detail.length,'e.currentTarget.dataset')
    if(e.detail.length > 100) {
      Notify({
        message: '您输入的内容已超出，请重新编辑!',
        type: 'danger'
      })
    } else {
      this.setData({
        updateContents: e.detail
      })
    }
  },
  // 异常配送是否与客户联系列表
  getCustomerContact() {
    try {
      const token = wx.getStorageSync('token')
      request({
        url: '/getCustomerContact',
        method: 'GET',
        data: {
          token: token
        },
        header: {
          'content-type': 'application/json', // 默认
          'token': `${token}`
        }
      }).then(res => {
        console.log(res.data.result)
        this.setData({
          isContact: res.data.result.dictList,
          isContacts: res.data.result.dictList
        })
      })
    } catch (e) {
      //console.error(e)
    }
  },
  /**
   * 扫码入库
   */
  scanningWarehousing() {
  },
  /**
   * 自定义的数据以及函数就可以写
   * 页面离不开事件 --- 自定义的函数
   */
  testfn() {
    // console.log('自定义函数')
  },
})